﻿#define _CRT_SECURE_NO_WARNINGS 1

#include < stdio.h >



//struct S
//{
//	int a;
//	int b;
//};
//int main()
//{
//	struct S a, * p = &a;
//	a.a = 99;
//	printf("%d\n", (*p).a);
//	return 0;
//}


//int main()
//{
//
//	int  ret = 8.5 / 1;
//	printf("%d\n",ret);
//	return 0;
//}



//int main()
//{
//	int m = 0;
//	scanf("%d",&m);
//
//	int ret = 0;
//	int tmp = 0;
//
//
//	while (a>1)
//	{
//
//		ret += a;
//		a = a / 2 + a % 2;
//		
//	}
//
//	printf("%d\n",ret);
//	return 0;
//}

//int main()
//{
//	int money = 0;
//	int total = 0;
//	int empty = 0;
//
//
//	scanf("%d", &money);
//
//	//方法1
//	total = money;
//	empty = money;
//	while (empty > 1)
//	{
//		total += empty / 2;
//		empty = empty / 2 + empty % 2;
//	}
//	printf("%d\n", total);
//
//	return 0;
//}



//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
//	printf("%p\n", arr);
//	printf("%p\n", &arr[0]);
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	int i = 0;
//	int arr[] = { 1,2,3,4,5,6,7,8,9,0 };
//	int* p = arr; //指针存放数组首元素的地址
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (i = 0; i < sz; i++)
//	{
//		printf("&arr[%d] = %p  <====> p+%d = %p\n", i, &arr[i], i, p + i);
//	}
//	return 0;
//}

//int main()
//{
//	int arr1[3] = { 1,2,3 };
//	char arr2[3] = {1,2,3};
//
//	printf("%p\n",&arr1);
//	printf("%p\n", &arr2);
//	printf("%p\n", &arr1+1);
//	printf("%p\n", &arr2+1);
//
//	printf("%p\n", arr1 );
//	printf("%p\n", arr2 );
//	printf("%p\n", arr1 + 1);
//	printf("%p\n", arr2 + 1);
//}




//void set_stu(struct Stu t)
//{
//	t.age = 20;
//	//t.name = "张三";//err
//	strcpy(t.name, "张三");//字符串拷贝
//}
//
//void print_stu(struct Stu t)
//{
//	printf("%s %d\n", t.name, t.age);
//}
//
//int main()
//{
//	struct Stu s = {0};
//	set_stu(s);
//	print_stu(s);
//	return 0;
//}



struct Stu
{
	char name[20];
	int age;
};

void set_stu(struct Stu* ps)
{
	ps->age = 20;//结构体指针->结构体成员
	//t.name = "张三";//err
	strcpy(ps->name, "张三");//字符串拷贝
}


void print_stu(struct Stu t)
{
	printf("%s %d\n", t.name, t.age);
}

int main()
{
	struct Stu s = { 0 };
	set_stu(&s);
	print_stu(s);
	return 0;
}